<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinetis Bootloader Host: StExecutableImage.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="nxp_logo_small.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinetis Bootloader Host
   &#160;<span id="projectnumber">2.0.0</span>
   </div>
   <div id="projectbrief">Host Tools for Kinetis devices</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Introduction</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('apps_2elftosb_2common_2_st_executable_image_8h_source.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">apps/elftosb/common/StExecutableImage.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * File:    StExecutableImage.h</span></div><div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> * Copyright (c) Freescale Semiconductor, Inc. All rights reserved.</span></div><div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> * See included license file for license details.</span></div><div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="preprocessor">#if !defined(_StExecutableImage_h_)</span></div><div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="preprocessor">#define _StExecutableImage_h_</span></div><div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;</div><div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="preprocessor">#include &quot;stdafx.h&quot;</span></div><div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="preprocessor">#include &lt;list&gt;</span></div><div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"><a class="line" href="class_st_executable_image.html">   27</a></span>&#160;<span class="keyword">class </span><a class="code" href="class_st_executable_image.html">StExecutableImage</a></div><div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;{</div><div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00031"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650">   31</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;    {</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a162086ceee959f1b39ed3ac162a4582f">   33</a></span>&#160;        <a class="code" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a162086ceee959f1b39ed3ac162a4582f">TEXT_REGION</a>, </div><div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a92d582b94f2fec5c5d50fb0099ef9637">   34</a></span>&#160;        <a class="code" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a92d582b94f2fec5c5d50fb0099ef9637">FILL_REGION</a>  </div><div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;    } <a class="code" href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650">MemoryRegionType</a>;</div><div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;</div><div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160;    <span class="keyword">enum</span></div><div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;    {</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425aab090946be97e6cd034303e366460c20">   40</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425aab090946be97e6cd034303e366460c20">REGION_READ_FLAG</a> = 1,  </div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425adf33e85fd58d04d5b449b9f370768b2e">   41</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425adf33e85fd58d04d5b449b9f370768b2e">REGION_WRITE_FLAG</a> = 2, </div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425a84e719f0cf269e76c8a7a64c6134e070">   42</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425a84e719f0cf269e76c8a7a64c6134e070">REGION_EXEC_FLAG</a> = 4,  </div><div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425add777a7fecc9e52d6825eec09041f499">   44</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425add777a7fecc9e52d6825eec09041f499">REGION_RW_FLAG</a> = <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425aab090946be97e6cd034303e366460c20">REGION_READ_FLAG</a> | <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425adf33e85fd58d04d5b449b9f370768b2e">REGION_WRITE_FLAG</a>, </div><div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425ab73bfd5122e1366c96c5e7ee997113c5">   47</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425ab73bfd5122e1366c96c5e7ee997113c5">REGION_PERM_FLAG_MASK</a> = 0x7</div><div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;    };</div><div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html">   55</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a></div><div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160;    {</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#a2fed1769f8a7d8ece86d30beb20f3f56">   57</a></span>&#160;        MemoryRegionType <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a2fed1769f8a7d8ece86d30beb20f3f56">m_type</a>; </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#a7d7e0b0daa45211c8a45e63b2d999b13">   58</a></span>&#160;        uint32_t <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a7d7e0b0daa45211c8a45e63b2d999b13">m_address</a>;      </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#a01a81fc039866032c35c390cca159ff3">   59</a></span>&#160;        uint32_t <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a01a81fc039866032c35c390cca159ff3">m_length</a>;       </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#a1a65d28bb9319016c5a0bd43b55bcf4e">   60</a></span>&#160;        uint8_t *<a class="code" href="struct_st_executable_image_1_1_memory_region.html#a1a65d28bb9319016c5a0bd43b55bcf4e">m_data</a>;         </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#aae5bb11841028df3f8247f444b76558f">   61</a></span>&#160;        <span class="keywordtype">unsigned</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html#aae5bb11841028df3f8247f444b76558f">m_flags</a>;        </div><div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;</div><div class="line"><a name="l00064"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_memory_region.html#a1e7eaf5efdb160f84209460a4560132a">   64</a></span>&#160;        <span class="keyword">inline</span> uint32_t <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a1e7eaf5efdb160f84209460a4560132a">endAddress</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_address + m_length - 1; }</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a15467f1f478fb2e189fbd88cfecdb378">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;other);</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    };</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a97cfa941238065e55a6aae6994397fff">   70</a></span>&#160;    <span class="keyword">typedef</span> std::list&lt;MemoryRegion&gt; <a class="code" href="class_st_executable_image.html#a97cfa941238065e55a6aae6994397fff">MemoryRegionList</a>;</div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a49e47f7fcfca45cb167b65e943d15deb">   74</a></span>&#160;    <span class="keyword">typedef</span> MemoryRegionList::const_iterator <a class="code" href="class_st_executable_image.html#a49e47f7fcfca45cb167b65e943d15deb">const_iterator</a>;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">   77</a></span>&#160;    <span class="keyword">typedef</span> <span class="keyword">enum</span></div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;    {</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a8d3525e1369d543ee479517af658c18c">   79</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a8d3525e1369d543ee479517af658c18c">ADDR_FILTER_NONE</a>,    </div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a3a236f4d9bba4e99577d9f2c300965a8">   80</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a3a236f4d9bba4e99577d9f2c300965a8">ADDR_FILTER_ERROR</a>,   </div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339aa683a5532b1993492a8820b8c5eedf51">   81</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339aa683a5532b1993492a8820b8c5eedf51">ADDR_FILTER_WARNING</a>, </div><div class="line"><a name="l00082"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a28c0c9df92900c313f1a8edccea9bbca">   82</a></span>&#160;        <a class="code" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a28c0c9df92900c313f1a8edccea9bbca">ADDR_FILTER_CROP</a>     </div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;    } <a class="code" href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">AddressFilterAction</a>;</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html">   90</a></span>&#160;    <span class="keyword">struct </span><a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a></div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;    {</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html#aefd0d6b3926e4a511e4b2b6a217448b8">   92</a></span>&#160;        AddressFilterAction <a class="code" href="struct_st_executable_image_1_1_address_filter.html#aefd0d6b3926e4a511e4b2b6a217448b8">m_action</a>; </div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html#a26d2120abe978be14efa07d2c925b39a">   93</a></span>&#160;        uint32_t <a class="code" href="struct_st_executable_image_1_1_address_filter.html#a26d2120abe978be14efa07d2c925b39a">m_fromAddress</a>;       </div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html#a89ca4d06127f645af7ccb2654f09f188">   94</a></span>&#160;        uint32_t <a class="code" href="struct_st_executable_image_1_1_address_filter.html#a89ca4d06127f645af7ccb2654f09f188">m_toAddress</a>;         </div><div class="line"><a name="l00095"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html#af1d61c5cf6a14fe3eb1a6b4eac63f0fc">   95</a></span>&#160;        <span class="keywordtype">unsigned</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html#af1d61c5cf6a14fe3eb1a6b4eac63f0fc">m_priority</a>;          </div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno"><a class="line" href="struct_st_executable_image_1_1_address_filter.html#af3b5e44665c1595d4fc10466d535cfe1">   98</a></span>&#160;        <a class="code" href="struct_st_executable_image_1_1_address_filter.html#af3b5e44665c1595d4fc10466d535cfe1">AddressFilter</a>(AddressFilterAction action, uint32_t from, uint32_t to, <span class="keywordtype">unsigned</span> priority = 0)</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;            : m_action(action)</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;            , m_fromAddress(from)</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;            , m_toAddress(to)</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;            , m_priority(priority)</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;        {</div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;        }</div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        <span class="keywordtype">bool</span> matchesMemoryRegion(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;region) <span class="keyword">const</span>;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;        <span class="keywordtype">int</span> compare(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other) <span class="keyword">const</span>;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;</div><div class="line"><a name="l00113"></a><span class="lineno">  113</span>&#160;</div><div class="line"><a name="l00114"></a><span class="lineno">  114</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> compare(other) == -1; }</div><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> compare(other) == 1; }</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html#a15467f1f478fb2e189fbd88cfecdb378">operator==</a>(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> compare(other) == 0; }</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&lt;=(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> compare(other) != 1; }</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> operator&gt;=(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;other)<span class="keyword"> const </span>{ <span class="keywordflow">return</span> compare(other) != -1; }</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    };</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#ae360f36acd4e58886f5823cff7b953d2">  123</a></span>&#160;    <span class="keyword">typedef</span> std::list&lt;AddressFilter&gt; <a class="code" href="class_st_executable_image.html#ae360f36acd4e58886f5823cff7b953d2">AddressFilterList</a>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="class_st_executable_image_1_1address__filter__exception.html">  127</a></span>&#160;    <span class="keyword">class </span><a class="code" href="class_st_executable_image_1_1address__filter__exception.html">address_filter_exception</a></div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;    {</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keyword">public</span>:</div><div class="line"><a name="l00134"></a><span class="lineno"><a class="line" href="class_st_executable_image_1_1address__filter__exception.html#a396961ae9e7d7a2d0b3a6834eb1a836c">  134</a></span>&#160;        <a class="code" href="class_st_executable_image_1_1address__filter__exception.html#a396961ae9e7d7a2d0b3a6834eb1a836c">address_filter_exception</a>(<span class="keywordtype">bool</span> isError, std::string &amp;imageName, <span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;matchingFilter)</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;            : m_isError(isError)</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;            , m_imageName(imageName)</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;            , m_filter(matchingFilter)</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        {</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;        }</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;</div><div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="class_st_executable_image_1_1address__filter__exception.html#a740a38c801e889501406808c71749fd5">  143</a></span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_st_executable_image_1_1address__filter__exception.html#a740a38c801e889501406808c71749fd5">isError</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_isError; }</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;        <span class="keyword">inline</span> std::string getImageName()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_imageName; }</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;        <span class="keyword">inline</span> <span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;getMatchingFilter()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> m_filter; }</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    <span class="keyword">protected</span>:</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordtype">bool</span> m_isError;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;        std::string m_imageName;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> m_filter;</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    };</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;<span class="keyword">public</span>:</div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <a class="code" href="class_st_executable_image.html#a84572566aaf8381110b10c2617d899eb">StExecutableImage</a>(<span class="keywordtype">int</span> inAlignment = 256);</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    <a class="code" href="class_st_executable_image.html#a84572566aaf8381110b10c2617d899eb">StExecutableImage</a>(<span class="keyword">const</span> <a class="code" href="class_st_executable_image.html">StExecutableImage</a> &amp;inOther);</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    <span class="keyword">virtual</span> <a class="code" href="class_st_executable_image.html#a6fff17ebe791f5a18bd099d153ed0218">~StExecutableImage</a>();</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a24300755560d79f1147047619adc1603">setName</a>(<span class="keyword">const</span> std::string &amp;inName);</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;</div><div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;    <span class="keyword">virtual</span> std::string <a class="code" href="class_st_executable_image.html#a3855f84c514c545ee878cdd424e862c2">getName</a>() <span class="keyword">const</span>;</div><div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;</div><div class="line"><a name="l00176"></a><span class="lineno">  176</span>&#160;</div><div class="line"><a name="l00177"></a><span class="lineno">  177</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a8330a0af72e6b93a0b4d804bc9aa7d70">addFillRegion</a>(uint32_t inAddress, <span class="keywordtype">unsigned</span> inLength);</div><div class="line"><a name="l00179"></a><span class="lineno">  179</span>&#160;</div><div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a9eadfe64e416e6308b7a98173a9e0ea9">addTextRegion</a>(uint32_t inAddress, <span class="keyword">const</span> uint8_t *inData, <span class="keywordtype">unsigned</span> inLength);</div><div class="line"><a name="l00182"></a><span class="lineno">  182</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#ad3bb2938a6e5f1575fb98e73661ca485">  187</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">unsigned</span> <a class="code" href="class_st_executable_image.html#ad3bb2938a6e5f1575fb98e73661ca485">getRegionCount</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <span class="keyword">static_cast&lt;</span><span class="keywordtype">unsigned</span><span class="keyword">&gt;</span>(<a class="code" href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">m_image</a>.size()); }</div><div class="line"><a name="l00189"></a><span class="lineno">  189</span>&#160;    <span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;<a class="code" href="class_st_executable_image.html#ad881c9f1e0e0cdea1942e2fc27d0fbf0">getRegionAtIndex</a>(<span class="keywordtype">unsigned</span> inIndex) <span class="keyword">const</span>;</div><div class="line"><a name="l00190"></a><span class="lineno">  190</span>&#160;</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#af8a032135f5171b771b80489b7a572a9">  192</a></span>&#160;    <span class="keyword">inline</span> const_iterator <a class="code" href="class_st_executable_image.html#af8a032135f5171b771b80489b7a572a9">getRegionBegin</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">m_image</a>.begin(); }</div><div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a377c5a03a7d23e8aeecfd5015fd25d40">  194</a></span>&#160;    <span class="keyword">inline</span> const_iterator <a class="code" href="class_st_executable_image.html#a377c5a03a7d23e8aeecfd5015fd25d40">getRegionEnd</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">m_image</a>.end(); }</div><div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno">  198</span>&#160;</div><div class="line"><a name="l00199"></a><span class="lineno">  199</span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a974d976cb1ad94b29e756129518b1be9">setEntryPoint</a>(uint32_t inEntryAddress)</div><div class="line"><a name="l00201"></a><span class="lineno">  201</span>&#160;    {</div><div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <a class="code" href="class_st_executable_image.html#ad704847a21509b982fd1501884522780">m_entry</a> = inEntryAddress;</div><div class="line"><a name="l00203"></a><span class="lineno">  203</span>&#160;        <a class="code" href="class_st_executable_image.html#ab5053c0850fb95115b1093072b8883b7">m_hasEntry</a> = <span class="keyword">true</span>;</div><div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;    }</div><div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160;</div><div class="line"><a name="l00207"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#aa58afc3a576dfa8af78a2022f2ea0c61">  207</a></span>&#160;    <span class="keyword">inline</span> <span class="keywordtype">bool</span> <a class="code" href="class_st_executable_image.html#aa58afc3a576dfa8af78a2022f2ea0c61">hasEntryPoint</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_executable_image.html#ab5053c0850fb95115b1093072b8883b7">m_hasEntry</a>; }</div><div class="line"><a name="l00209"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a43e7f8ea7272228784533888a18b8193">  209</a></span>&#160;    <span class="keyword">inline</span> uint32_t <a class="code" href="class_st_executable_image.html#a43e7f8ea7272228784533888a18b8193">getEntryPoint</a>()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> <a class="code" href="class_st_executable_image.html#aa58afc3a576dfa8af78a2022f2ea0c61">hasEntryPoint</a>() ? <a class="code" href="class_st_executable_image.html#ad704847a21509b982fd1501884522780">m_entry</a> : 0; }</div><div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;</div><div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;</div><div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#ab08138e27c20c51782760a23c5099799">addAddressFilter</a>(<span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;filter);</div><div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;</div><div class="line"><a name="l00222"></a><span class="lineno">  222</span>&#160;    <span class="keyword">template</span> &lt;<span class="keyword">typename</span> _T&gt;</div><div class="line"><a name="l00223"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a6a45e24feb44bd313c8c7be02d5cd435">  223</a></span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a6a45e24feb44bd313c8c7be02d5cd435">addAddressFilters</a>(_T from, _T to)</div><div class="line"><a name="l00224"></a><span class="lineno">  224</span>&#160;    {</div><div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;        _T it = from;</div><div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        <span class="keywordflow">for</span> (; it != to; ++it)</div><div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;        {</div><div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;            <a class="code" href="class_st_executable_image.html#ab08138e27c20c51782760a23c5099799">addAddressFilter</a>(*it);</div><div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160;        }</div><div class="line"><a name="l00230"></a><span class="lineno">  230</span>&#160;    }</div><div class="line"><a name="l00231"></a><span class="lineno">  231</span>&#160;</div><div class="line"><a name="l00233"></a><span class="lineno">  233</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a68bd19b06557d9c2cd4d6fd3dff51719">clearAddressFilters</a>();</div><div class="line"><a name="l00234"></a><span class="lineno">  234</span>&#160;</div><div class="line"><a name="l00236"></a><span class="lineno">  236</span>&#160;    <span class="keyword">virtual</span> <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a98b9218f29bba42d47e0d01ecf496fa3">applyAddressFilters</a>();</div><div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160;</div><div class="line"><a name="l00239"></a><span class="lineno">  239</span>&#160;<span class="keyword">protected</span>:</div><div class="line"><a name="l00240"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#acc1f35f270111329b34d38ca55ca2bf4">  240</a></span>&#160;    std::string <a class="code" href="class_st_executable_image.html#acc1f35f270111329b34d38ca55ca2bf4">m_name</a>;          </div><div class="line"><a name="l00241"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#aa40dd182ebf708c0bdaa07a8203846cc">  241</a></span>&#160;    <span class="keywordtype">int</span> <a class="code" href="class_st_executable_image.html#aa40dd182ebf708c0bdaa07a8203846cc">m_alignment</a>;             </div><div class="line"><a name="l00242"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#ab5053c0850fb95115b1093072b8883b7">  242</a></span>&#160;    <span class="keywordtype">bool</span> <a class="code" href="class_st_executable_image.html#ab5053c0850fb95115b1093072b8883b7">m_hasEntry</a>;             </div><div class="line"><a name="l00243"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#ad704847a21509b982fd1501884522780">  243</a></span>&#160;    uint32_t <a class="code" href="class_st_executable_image.html#ad704847a21509b982fd1501884522780">m_entry</a>;            </div><div class="line"><a name="l00244"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">  244</a></span>&#160;    MemoryRegionList <a class="code" href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">m_image</a>;    </div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="class_st_executable_image.html#ae5ff8ea93e51ede1b31c59de0ed85430">  245</a></span>&#160;    AddressFilterList <a class="code" href="class_st_executable_image.html#ae5ff8ea93e51ede1b31c59de0ed85430">m_filters</a>; </div><div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;</div><div class="line"><a name="l00248"></a><span class="lineno">  248</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a9bb0b21c724d8c629ce5717f50add2d8">cropRegionToFilter</a>(<a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;region, <span class="keyword">const</span> <a class="code" href="struct_st_executable_image_1_1_address_filter.html">AddressFilter</a> &amp;filter);</div><div class="line"><a name="l00249"></a><span class="lineno">  249</span>&#160;</div><div class="line"><a name="l00251"></a><span class="lineno">  251</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#ae6022df7dd51ff37502cf8636e00a769">insertOrMergeRegion</a>(<a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;inRegion);</div><div class="line"><a name="l00252"></a><span class="lineno">  252</span>&#160;</div><div class="line"><a name="l00254"></a><span class="lineno">  254</span>&#160;    <span class="keywordtype">void</span> <a class="code" href="class_st_executable_image.html#a562fbf8f7e3d9db69caa3926cc6f0c81">mergeRegions</a>(<a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;inOldRegion, <a class="code" href="struct_st_executable_image_1_1_memory_region.html">MemoryRegion</a> &amp;inNewRegion);</div><div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;};</div><div class="line"><a name="l00256"></a><span class="lineno">  256</span>&#160;</div><div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;<span class="preprocessor">#endif // _StExecutableImage_h_</span></div><div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a2fed1769f8a7d8ece86d30beb20f3f56"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a2fed1769f8a7d8ece86d30beb20f3f56">StExecutableImage::MemoryRegion::m_type</a></div><div class="ttdeci">MemoryRegionType m_type</div><div class="ttdoc">Memory region type. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:57</div></div>
<div class="ttc" id="class_st_executable_image_html_af8a032135f5171b771b80489b7a572a9"><div class="ttname"><a href="class_st_executable_image.html#af8a032135f5171b771b80489b7a572a9">StExecutableImage::getRegionBegin</a></div><div class="ttdeci">const_iterator getRegionBegin() const </div><div class="ttdoc">Return an iterator to the first region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:192</div></div>
<div class="ttc" id="class_st_executable_image_html_ab08138e27c20c51782760a23c5099799"><div class="ttname"><a href="class_st_executable_image.html#ab08138e27c20c51782760a23c5099799">StExecutableImage::addAddressFilter</a></div><div class="ttdeci">virtual void addAddressFilter(const AddressFilter &amp;filter)</div><div class="ttdoc">Add a new address filter. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:129</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html_aefd0d6b3926e4a511e4b2b6a217448b8"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html#aefd0d6b3926e4a511e4b2b6a217448b8">StExecutableImage::AddressFilter::m_action</a></div><div class="ttdeci">AddressFilterAction m_action</div><div class="ttdoc">Action to be performed when the filter is matched. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:92</div></div>
<div class="ttc" id="class_st_executable_image_html_a8330a0af72e6b93a0b4d804bc9aa7d70"><div class="ttname"><a href="class_st_executable_image.html#a8330a0af72e6b93a0b4d804bc9aa7d70">StExecutableImage::addFillRegion</a></div><div class="ttdeci">virtual void addFillRegion(uint32_t inAddress, unsigned inLength)</div><div class="ttdoc">Add a region to be filled with zeroes. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:74</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a01a81fc039866032c35c390cca159ff3"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a01a81fc039866032c35c390cca159ff3">StExecutableImage::MemoryRegion::m_length</a></div><div class="ttdeci">uint32_t m_length</div><div class="ttdoc">Number of bytes in this region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:59</div></div>
<div class="ttc" id="class_st_executable_image_html_a377c5a03a7d23e8aeecfd5015fd25d40"><div class="ttname"><a href="class_st_executable_image.html#a377c5a03a7d23e8aeecfd5015fd25d40">StExecutableImage::getRegionEnd</a></div><div class="ttdeci">const_iterator getRegionEnd() const </div><div class="ttdoc">Return an iterator to the next-after-last region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:194</div></div>
<div class="ttc" id="class_st_executable_image_html_a84572566aaf8381110b10c2617d899eb"><div class="ttname"><a href="class_st_executable_image.html#a84572566aaf8381110b10c2617d899eb">StExecutableImage::StExecutableImage</a></div><div class="ttdeci">StExecutableImage(int inAlignment=256)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:14</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_aae5bb11841028df3f8247f444b76558f"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#aae5bb11841028df3f8247f444b76558f">StExecutableImage::MemoryRegion::m_flags</a></div><div class="ttdeci">unsigned m_flags</div><div class="ttdoc">Flags for the region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:61</div></div>
<div class="ttc" id="class_st_executable_image_html_a915c9138a49339890d16253c794ec425aab090946be97e6cd034303e366460c20"><div class="ttname"><a href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425aab090946be97e6cd034303e366460c20">StExecutableImage::REGION_READ_FLAG</a></div><div class="ttdoc">Region is readable. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:40</div></div>
<div class="ttc" id="class_st_executable_image_html_acfc4419e8d999103139e91570863e650a162086ceee959f1b39ed3ac162a4582f"><div class="ttname"><a href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a162086ceee959f1b39ed3ac162a4582f">StExecutableImage::TEXT_REGION</a></div><div class="ttdoc">A region containing data or instructions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:33</div></div>
<div class="ttc" id="class_st_executable_image_html_a6fff17ebe791f5a18bd099d153ed0218"><div class="ttname"><a href="class_st_executable_image.html#a6fff17ebe791f5a18bd099d153ed0218">StExecutableImage::~StExecutableImage</a></div><div class="ttdeci">virtual ~StExecutableImage()</div><div class="ttdoc">Destructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:46</div></div>
<div class="ttc" id="class_st_executable_image_html_a68bd19b06557d9c2cd4d6fd3dff51719"><div class="ttname"><a href="class_st_executable_image.html#a68bd19b06557d9c2cd4d6fd3dff51719">StExecutableImage::clearAddressFilters</a></div><div class="ttdeci">virtual void clearAddressFilters()</div><div class="ttdoc">Remove all active filters. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:136</div></div>
<div class="ttc" id="class_st_executable_image_1_1address__filter__exception_html"><div class="ttname"><a href="class_st_executable_image_1_1address__filter__exception.html">StExecutableImage::address_filter_exception</a></div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:127</div></div>
<div class="ttc" id="class_st_executable_image_html_acfc4419e8d999103139e91570863e650a92d582b94f2fec5c5d50fb0099ef9637"><div class="ttname"><a href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650a92d582b94f2fec5c5d50fb0099ef9637">StExecutableImage::FILL_REGION</a></div><div class="ttdoc">Region to be initialized with zero bytes. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:34</div></div>
<div class="ttc" id="class_st_executable_image_html_a98b9218f29bba42d47e0d01ecf496fa3"><div class="ttname"><a href="class_st_executable_image.html#a98b9218f29bba42d47e0d01ecf496fa3">StExecutableImage::applyAddressFilters</a></div><div class="ttdeci">virtual void applyAddressFilters()</div><div class="ttdoc">Process all active filters and perform associated actions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:148</div></div>
<div class="ttc" id="class_st_executable_image_html_aa40dd182ebf708c0bdaa07a8203846cc"><div class="ttname"><a href="class_st_executable_image.html#aa40dd182ebf708c0bdaa07a8203846cc">StExecutableImage::m_alignment</a></div><div class="ttdeci">int m_alignment</div><div class="ttdoc">The required address alignment for each memory region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:241</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html_af1d61c5cf6a14fe3eb1a6b4eac63f0fc"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html#af1d61c5cf6a14fe3eb1a6b4eac63f0fc">StExecutableImage::AddressFilter::m_priority</a></div><div class="ttdeci">unsigned m_priority</div><div class="ttdoc">Priority for this filter. Zero is the lowest priority. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:95</div></div>
<div class="ttc" id="class_st_executable_image_html"><div class="ttname"><a href="class_st_executable_image.html">StExecutableImage</a></div><div class="ttdoc">Used to build a representation of memory regions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:27</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html_a26d2120abe978be14efa07d2c925b39a"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html#a26d2120abe978be14efa07d2c925b39a">StExecutableImage::AddressFilter::m_fromAddress</a></div><div class="ttdeci">uint32_t m_fromAddress</div><div class="ttdoc">Start address of the filter. Should be lower than or equal to m_toAddress. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:93</div></div>
<div class="ttc" id="class_st_executable_image_html_a43e7f8ea7272228784533888a18b8193"><div class="ttname"><a href="class_st_executable_image.html#a43e7f8ea7272228784533888a18b8193">StExecutableImage::getEntryPoint</a></div><div class="ttdeci">uint32_t getEntryPoint() const </div><div class="ttdoc">Returns the entry point address. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:209</div></div>
<div class="ttc" id="class_st_executable_image_html_aa58afc3a576dfa8af78a2022f2ea0c61"><div class="ttname"><a href="class_st_executable_image.html#aa58afc3a576dfa8af78a2022f2ea0c61">StExecutableImage::hasEntryPoint</a></div><div class="ttdeci">bool hasEntryPoint() const </div><div class="ttdoc">Returns true if an entry point has been set. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:207</div></div>
<div class="ttc" id="class_st_executable_image_html_a9eadfe64e416e6308b7a98173a9e0ea9"><div class="ttname"><a href="class_st_executable_image.html#a9eadfe64e416e6308b7a98173a9e0ea9">StExecutableImage::addTextRegion</a></div><div class="ttdeci">virtual void addTextRegion(uint32_t inAddress, const uint8_t *inData, unsigned inLength)</div><div class="ttdoc">Add a region containing data to be loaded. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:93</div></div>
<div class="ttc" id="class_st_executable_image_html_acc1f35f270111329b34d38ca55ca2bf4"><div class="ttname"><a href="class_st_executable_image.html#acc1f35f270111329b34d38ca55ca2bf4">StExecutableImage::m_name</a></div><div class="ttdeci">std::string m_name</div><div class="ttdoc">The name of the image (can be a file name, for instance). </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:240</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html">StExecutableImage::AddressFilter</a></div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:90</div></div>
<div class="ttc" id="class_st_executable_image_html_ad881c9f1e0e0cdea1942e2fc27d0fbf0"><div class="ttname"><a href="class_st_executable_image.html#ad881c9f1e0e0cdea1942e2fc27d0fbf0">StExecutableImage::getRegionAtIndex</a></div><div class="ttdeci">const MemoryRegion &amp; getRegionAtIndex(unsigned inIndex) const </div><div class="ttdoc">Returns a reference to the region specified by inIndex. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:110</div></div>
<div class="ttc" id="class_st_executable_image_html_a24300755560d79f1147047619adc1603"><div class="ttname"><a href="class_st_executable_image.html#a24300755560d79f1147047619adc1603">StExecutableImage::setName</a></div><div class="ttdeci">virtual void setName(const std::string &amp;inName)</div><div class="ttdoc">Sets the image&amp;#39;s name to inName. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:61</div></div>
<div class="ttc" id="class_st_executable_image_html_a19d888235cc8f0c2d4df9c4a45a63339a8d3525e1369d543ee479517af658c18c"><div class="ttname"><a href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a8d3525e1369d543ee479517af658c18c">StExecutableImage::ADDR_FILTER_NONE</a></div><div class="ttdoc">Do nothing. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:79</div></div>
<div class="ttc" id="class_st_executable_image_html_ab5053c0850fb95115b1093072b8883b7"><div class="ttname"><a href="class_st_executable_image.html#ab5053c0850fb95115b1093072b8883b7">StExecutableImage::m_hasEntry</a></div><div class="ttdeci">bool m_hasEntry</div><div class="ttdoc">True if an entry point has been set. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:242</div></div>
<div class="ttc" id="class_st_executable_image_html_a562fbf8f7e3d9db69caa3926cc6f0c81"><div class="ttname"><a href="class_st_executable_image.html#a562fbf8f7e3d9db69caa3926cc6f0c81">StExecutableImage::mergeRegions</a></div><div class="ttdeci">void mergeRegions(MemoryRegion &amp;inOldRegion, MemoryRegion &amp;inNewRegion)</div><div class="ttdoc">Merges two memory regions into one. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:333</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html_af3b5e44665c1595d4fc10466d535cfe1"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html#af3b5e44665c1595d4fc10466d535cfe1">StExecutableImage::AddressFilter::AddressFilter</a></div><div class="ttdeci">AddressFilter(AddressFilterAction action, uint32_t from, uint32_t to, unsigned priority=0)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:98</div></div>
<div class="ttc" id="class_st_executable_image_html_a6a45e24feb44bd313c8c7be02d5cd435"><div class="ttname"><a href="class_st_executable_image.html#a6a45e24feb44bd313c8c7be02d5cd435">StExecutableImage::addAddressFilters</a></div><div class="ttdeci">void addAddressFilters(_T from, _T to)</div><div class="ttdoc">Add multiple address filters at once. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:223</div></div>
<div class="ttc" id="class_st_executable_image_html_a23ab2d8a7170c75afbb3c6cd7442379b"><div class="ttname"><a href="class_st_executable_image.html#a23ab2d8a7170c75afbb3c6cd7442379b">StExecutableImage::m_image</a></div><div class="ttdeci">MemoryRegionList m_image</div><div class="ttdoc">The memory regions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:244</div></div>
<div class="ttc" id="class_st_executable_image_html_a974d976cb1ad94b29e756129518b1be9"><div class="ttname"><a href="class_st_executable_image.html#a974d976cb1ad94b29e756129518b1be9">StExecutableImage::setEntryPoint</a></div><div class="ttdeci">void setEntryPoint(uint32_t inEntryAddress)</div><div class="ttdoc">Sets the entry point address. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:200</div></div>
<div class="ttc" id="class_st_executable_image_html_ae5ff8ea93e51ede1b31c59de0ed85430"><div class="ttname"><a href="class_st_executable_image.html#ae5ff8ea93e51ede1b31c59de0ed85430">StExecutableImage::m_filters</a></div><div class="ttdeci">AddressFilterList m_filters</div><div class="ttdoc">List of active address filters. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:245</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a15467f1f478fb2e189fbd88cfecdb378"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a15467f1f478fb2e189fbd88cfecdb378">StExecutableImage::MemoryRegion::operator==</a></div><div class="ttdeci">bool operator==(const MemoryRegion &amp;other)</div><div class="ttdoc">Equality operator. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:402</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a1e7eaf5efdb160f84209460a4560132a"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a1e7eaf5efdb160f84209460a4560132a">StExecutableImage::MemoryRegion::endAddress</a></div><div class="ttdeci">uint32_t endAddress() const </div><div class="ttdoc">Calculates the address of the last byte occupied by this region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:64</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a7d7e0b0daa45211c8a45e63b2d999b13"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a7d7e0b0daa45211c8a45e63b2d999b13">StExecutableImage::MemoryRegion::m_address</a></div><div class="ttdeci">uint32_t m_address</div><div class="ttdoc">The 32-bit start address of this region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:58</div></div>
<div class="ttc" id="class_st_executable_image_html_a915c9138a49339890d16253c794ec425ab73bfd5122e1366c96c5e7ee997113c5"><div class="ttname"><a href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425ab73bfd5122e1366c96c5e7ee997113c5">StExecutableImage::REGION_PERM_FLAG_MASK</a></div><div class="ttdoc">Mask to access only permissions flags for a region. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:47</div></div>
<div class="ttc" id="class_st_executable_image_html_ae6022df7dd51ff37502cf8636e00a769"><div class="ttname"><a href="class_st_executable_image.html#ae6022df7dd51ff37502cf8636e00a769">StExecutableImage::insertOrMergeRegion</a></div><div class="ttdeci">void insertOrMergeRegion(MemoryRegion &amp;inRegion)</div><div class="ttdoc">Inserts the region in sorted order or merges with one already in the image. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:286</div></div>
<div class="ttc" id="class_st_executable_image_1_1address__filter__exception_html_a396961ae9e7d7a2d0b3a6834eb1a836c"><div class="ttname"><a href="class_st_executable_image_1_1address__filter__exception.html#a396961ae9e7d7a2d0b3a6834eb1a836c">StExecutableImage::address_filter_exception::address_filter_exception</a></div><div class="ttdeci">address_filter_exception(bool isError, std::string &amp;imageName, const AddressFilter &amp;matchingFilter)</div><div class="ttdoc">Constructor. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:134</div></div>
<div class="ttc" id="class_st_executable_image_html_ad3bb2938a6e5f1575fb98e73661ca485"><div class="ttname"><a href="class_st_executable_image.html#ad3bb2938a6e5f1575fb98e73661ca485">StExecutableImage::getRegionCount</a></div><div class="ttdeci">unsigned getRegionCount() const </div><div class="ttdoc">Returns the total number of regions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:187</div></div>
<div class="ttc" id="class_st_executable_image_html_acfc4419e8d999103139e91570863e650"><div class="ttname"><a href="class_st_executable_image.html#acfc4419e8d999103139e91570863e650">StExecutableImage::MemoryRegionType</a></div><div class="ttdeci">MemoryRegionType</div><div class="ttdoc">Possible types of memory regions. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:31</div></div>
<div class="ttc" id="class_st_executable_image_html_a19d888235cc8f0c2d4df9c4a45a63339"><div class="ttname"><a href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339">StExecutableImage::AddressFilterAction</a></div><div class="ttdeci">AddressFilterAction</div><div class="ttdoc">The possible actions for regions matching an address filter range. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:77</div></div>
<div class="ttc" id="class_st_executable_image_1_1address__filter__exception_html_a740a38c801e889501406808c71749fd5"><div class="ttname"><a href="class_st_executable_image_1_1address__filter__exception.html#a740a38c801e889501406808c71749fd5">StExecutableImage::address_filter_exception::isError</a></div><div class="ttdeci">bool isError() const </div><div class="ttdoc">Returns true if the exception is an error. Otherwise the exception is for a warning. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:143</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html_a1a65d28bb9319016c5a0bd43b55bcf4e"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html#a1a65d28bb9319016c5a0bd43b55bcf4e">StExecutableImage::MemoryRegion::m_data</a></div><div class="ttdeci">uint8_t * m_data</div><div class="ttdoc">Pointer to data. Will be NULL for FILL_REGION type. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:60</div></div>
<div class="ttc" id="class_st_executable_image_html_a9bb0b21c724d8c629ce5717f50add2d8"><div class="ttname"><a href="class_st_executable_image.html#a9bb0b21c724d8c629ce5717f50add2d8">StExecutableImage::cropRegionToFilter</a></div><div class="ttdeci">void cropRegionToFilter(MemoryRegion &amp;region, const AddressFilter &amp;filter)</div><div class="ttdoc">Deletes the portion region that overlaps filter. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:205</div></div>
<div class="ttc" id="class_st_executable_image_html_a97cfa941238065e55a6aae6994397fff"><div class="ttname"><a href="class_st_executable_image.html#a97cfa941238065e55a6aae6994397fff">StExecutableImage::MemoryRegionList</a></div><div class="ttdeci">std::list&lt; MemoryRegion &gt; MemoryRegionList</div><div class="ttdoc">A list of StExecutableImage::MemoryRegion objects. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:70</div></div>
<div class="ttc" id="class_st_executable_image_html_a3855f84c514c545ee878cdd424e862c2"><div class="ttname"><a href="class_st_executable_image.html#a3855f84c514c545ee878cdd424e862c2">StExecutableImage::getName</a></div><div class="ttdeci">virtual std::string getName() const </div><div class="ttdoc">Returns a copy of the image&amp;#39;s name. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.cpp:66</div></div>
<div class="ttc" id="class_st_executable_image_html_a19d888235cc8f0c2d4df9c4a45a63339aa683a5532b1993492a8820b8c5eedf51"><div class="ttname"><a href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339aa683a5532b1993492a8820b8c5eedf51">StExecutableImage::ADDR_FILTER_WARNING</a></div><div class="ttdoc">Raise a warning exception. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:81</div></div>
<div class="ttc" id="class_st_executable_image_html_a49e47f7fcfca45cb167b65e943d15deb"><div class="ttname"><a href="class_st_executable_image.html#a49e47f7fcfca45cb167b65e943d15deb">StExecutableImage::const_iterator</a></div><div class="ttdeci">MemoryRegionList::const_iterator const_iterator</div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:74</div></div>
<div class="ttc" id="class_st_executable_image_html_a19d888235cc8f0c2d4df9c4a45a63339a28c0c9df92900c313f1a8edccea9bbca"><div class="ttname"><a href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a28c0c9df92900c313f1a8edccea9bbca">StExecutableImage::ADDR_FILTER_CROP</a></div><div class="ttdoc">Don&amp;#39;t include the matching address range in the executable image. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:82</div></div>
<div class="ttc" id="class_st_executable_image_html_a915c9138a49339890d16253c794ec425adf33e85fd58d04d5b449b9f370768b2e"><div class="ttname"><a href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425adf33e85fd58d04d5b449b9f370768b2e">StExecutableImage::REGION_WRITE_FLAG</a></div><div class="ttdoc">Region is writable. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:41</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_memory_region_html"><div class="ttname"><a href="struct_st_executable_image_1_1_memory_region.html">StExecutableImage::MemoryRegion</a></div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:55</div></div>
<div class="ttc" id="class_st_executable_image_html_a915c9138a49339890d16253c794ec425add777a7fecc9e52d6825eec09041f499"><div class="ttname"><a href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425add777a7fecc9e52d6825eec09041f499">StExecutableImage::REGION_RW_FLAG</a></div><div class="ttdoc">Region is read-write. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:44</div></div>
<div class="ttc" id="class_st_executable_image_html_a915c9138a49339890d16253c794ec425a84e719f0cf269e76c8a7a64c6134e070"><div class="ttname"><a href="class_st_executable_image.html#a915c9138a49339890d16253c794ec425a84e719f0cf269e76c8a7a64c6134e070">StExecutableImage::REGION_EXEC_FLAG</a></div><div class="ttdoc">Region may contain executable code. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:42</div></div>
<div class="ttc" id="class_st_executable_image_html_ae360f36acd4e58886f5823cff7b953d2"><div class="ttname"><a href="class_st_executable_image.html#ae360f36acd4e58886f5823cff7b953d2">StExecutableImage::AddressFilterList</a></div><div class="ttdeci">std::list&lt; AddressFilter &gt; AddressFilterList</div><div class="ttdoc">List of StExecutableImage::AddressFilter objects. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:123</div></div>
<div class="ttc" id="class_st_executable_image_html_ad704847a21509b982fd1501884522780"><div class="ttname"><a href="class_st_executable_image.html#ad704847a21509b982fd1501884522780">StExecutableImage::m_entry</a></div><div class="ttdeci">uint32_t m_entry</div><div class="ttdoc">Entry point address. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:243</div></div>
<div class="ttc" id="class_st_executable_image_html_a19d888235cc8f0c2d4df9c4a45a63339a3a236f4d9bba4e99577d9f2c300965a8"><div class="ttname"><a href="class_st_executable_image.html#a19d888235cc8f0c2d4df9c4a45a63339a3a236f4d9bba4e99577d9f2c300965a8">StExecutableImage::ADDR_FILTER_ERROR</a></div><div class="ttdoc">Raise an error exception. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:80</div></div>
<div class="ttc" id="struct_st_executable_image_1_1_address_filter_html_a89ca4d06127f645af7ccb2654f09f188"><div class="ttname"><a href="struct_st_executable_image_1_1_address_filter.html#a89ca4d06127f645af7ccb2654f09f188">StExecutableImage::AddressFilter::m_toAddress</a></div><div class="ttdeci">uint32_t m_toAddress</div><div class="ttdoc">End address of the filter. Should be higher than or equal to m_fromAddress. </div><div class="ttdef"><b>Definition:</b> apps/elftosb/common/StExecutableImage.h:94</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_96c2f84c885cff71a930b6845f88cdd3.html">elftosb</a></li><li class="navelem"><a class="el" href="dir_c476059e18722267e10e2fb2cca6f785.html">common</a></li><li class="navelem"><b>StExecutableImage.h</b></li>
    <li class="footer">Generated on Mon Mar 7 2016 16:49:50 for Kinetis Bootloader Host by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
